/**
 */
package gatperdut.chato.model.Chato;

import gatperdut.chato.model.Chato.Container.BotContainer;
import gatperdut.chato.model.Chato.Container.CraftContainer;
import gatperdut.chato.model.Chato.Container.DoorContainer;
import gatperdut.chato.model.Chato.Container.ItemContainer;
import gatperdut.chato.model.Chato.Container.ItemTemplateContainer;
import gatperdut.chato.model.Chato.Container.PlayerContainer;
import gatperdut.chato.model.Chato.Container.RoomContainer;

import org.eclipse.emf.cdo.CDOObject;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Chato</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link gatperdut.chato.model.Chato.Chato#getItemContainer <em>Item Container</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Chato#getItemTemplateContainer <em>Item Template Container</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Chato#getRoomContainer <em>Room Container</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Chato#getPlayerContainer <em>Player Container</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Chato#getDoorContainer <em>Door Container</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Chato#getBotContainer <em>Bot Container</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Chato#getCraftContainer <em>Craft Container</em>}</li>
 * </ul>
 * </p>
 *
 * @see gatperdut.chato.model.Chato.ChatoPackage#getChato()
 * @model
 * @extends CDOObject
 * @generated
 */
public interface Chato extends CDOObject {
	/**
     * Returns the value of the '<em><b>Item Container</b></em>' containment reference.
     * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Item Container</em>' containment reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
     * @return the value of the '<em>Item Container</em>' containment reference.
     * @see #setItemContainer(ItemContainer)
     * @see gatperdut.chato.model.Chato.ChatoPackage#getChato_ItemContainer()
     * @model containment="true" required="true"
     * @generated
     */
	ItemContainer getItemContainer();

	/**
     * Sets the value of the '{@link gatperdut.chato.model.Chato.Chato#getItemContainer <em>Item Container</em>}' containment reference.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @param value the new value of the '<em>Item Container</em>' containment reference.
     * @see #getItemContainer()
     * @generated
     */
	void setItemContainer(ItemContainer value);

	/**
     * Returns the value of the '<em><b>Item Template Container</b></em>' containment reference.
     * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Item Template Container</em>' containment reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
     * @return the value of the '<em>Item Template Container</em>' containment reference.
     * @see #setItemTemplateContainer(ItemTemplateContainer)
     * @see gatperdut.chato.model.Chato.ChatoPackage#getChato_ItemTemplateContainer()
     * @model containment="true" required="true"
     * @generated
     */
	ItemTemplateContainer getItemTemplateContainer();

	/**
     * Sets the value of the '{@link gatperdut.chato.model.Chato.Chato#getItemTemplateContainer <em>Item Template Container</em>}' containment reference.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @param value the new value of the '<em>Item Template Container</em>' containment reference.
     * @see #getItemTemplateContainer()
     * @generated
     */
	void setItemTemplateContainer(ItemTemplateContainer value);

	/**
     * Returns the value of the '<em><b>Room Container</b></em>' containment reference.
     * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Room Container</em>' containment reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
     * @return the value of the '<em>Room Container</em>' containment reference.
     * @see #setRoomContainer(RoomContainer)
     * @see gatperdut.chato.model.Chato.ChatoPackage#getChato_RoomContainer()
     * @model containment="true" required="true"
     * @generated
     */
	RoomContainer getRoomContainer();

	/**
     * Sets the value of the '{@link gatperdut.chato.model.Chato.Chato#getRoomContainer <em>Room Container</em>}' containment reference.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @param value the new value of the '<em>Room Container</em>' containment reference.
     * @see #getRoomContainer()
     * @generated
     */
	void setRoomContainer(RoomContainer value);

	/**
     * Returns the value of the '<em><b>Player Container</b></em>' containment reference.
     * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Player Container</em>' containment reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
     * @return the value of the '<em>Player Container</em>' containment reference.
     * @see #setPlayerContainer(PlayerContainer)
     * @see gatperdut.chato.model.Chato.ChatoPackage#getChato_PlayerContainer()
     * @model containment="true" required="true"
     * @generated
     */
	PlayerContainer getPlayerContainer();

	/**
     * Sets the value of the '{@link gatperdut.chato.model.Chato.Chato#getPlayerContainer <em>Player Container</em>}' containment reference.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @param value the new value of the '<em>Player Container</em>' containment reference.
     * @see #getPlayerContainer()
     * @generated
     */
	void setPlayerContainer(PlayerContainer value);

	/**
     * Returns the value of the '<em><b>Door Container</b></em>' containment reference.
     * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Door Container</em>' containment reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
     * @return the value of the '<em>Door Container</em>' containment reference.
     * @see #setDoorContainer(DoorContainer)
     * @see gatperdut.chato.model.Chato.ChatoPackage#getChato_DoorContainer()
     * @model containment="true" required="true"
     * @generated
     */
	DoorContainer getDoorContainer();

	/**
     * Sets the value of the '{@link gatperdut.chato.model.Chato.Chato#getDoorContainer <em>Door Container</em>}' containment reference.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @param value the new value of the '<em>Door Container</em>' containment reference.
     * @see #getDoorContainer()
     * @generated
     */
	void setDoorContainer(DoorContainer value);

	/**
     * Returns the value of the '<em><b>Bot Container</b></em>' containment reference.
     * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Bot Container</em>' containment reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
     * @return the value of the '<em>Bot Container</em>' containment reference.
     * @see #setBotContainer(BotContainer)
     * @see gatperdut.chato.model.Chato.ChatoPackage#getChato_BotContainer()
     * @model containment="true" required="true"
     * @generated
     */
	BotContainer getBotContainer();

	/**
     * Sets the value of the '{@link gatperdut.chato.model.Chato.Chato#getBotContainer <em>Bot Container</em>}' containment reference.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @param value the new value of the '<em>Bot Container</em>' containment reference.
     * @see #getBotContainer()
     * @generated
     */
	void setBotContainer(BotContainer value);

	/**
     * Returns the value of the '<em><b>Craft Container</b></em>' containment reference.
     * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Craft Container</em>' containment reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
     * @return the value of the '<em>Craft Container</em>' containment reference.
     * @see #setCraftContainer(CraftContainer)
     * @see gatperdut.chato.model.Chato.ChatoPackage#getChato_CraftContainer()
     * @model containment="true" required="true"
     * @generated
     */
	CraftContainer getCraftContainer();

	/**
     * Sets the value of the '{@link gatperdut.chato.model.Chato.Chato#getCraftContainer <em>Craft Container</em>}' containment reference.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @param value the new value of the '<em>Craft Container</em>' containment reference.
     * @see #getCraftContainer()
     * @generated
     */
	void setCraftContainer(CraftContainer value);

} // Chato
